public class variable {

    /**
     * **byte <- short <- int <- long <- float <- double**
     * 随机挑选箭头方向两种数据类型都需要强制类型转换
     * 强制类型转换格式：
     * 范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;
     */
    public static void main(String[] args){
        double d = 3.14;
        int i = (int) d; //将double类型的d强制转换成int类型
        // 将d的3.14强制转换为整形3,然后再赋值给i
        //强制转换会造成精度损失,不推荐使用
        System.out.println(d);
        System.out.println(i);

        byte b1 = 13; //13默认数据类型是int,将int赋值给byte,目测是强制类型转换,而代码根本没有,为什么不报错?
        // 将一个整数赋值一个一个byte类型的变量时,如果这个整数在byte类型范围内(-128~127)
        // 那么Java编译器会自动将这个整数强转为byte类型,然后赋值
        byte b2 = (byte)13; //等效于byte b1 = 13;
    }


}
